#ifndef JBK_IA_GA_GENETIC_ALGORITHM_H
#define JBK_IA_GA_GENETIC_ALGORITHM_H


namespace GA {

class Individual;

class GeneticAlgorithm {

public:
	/* dtor */
	virtual ~GeneticAlgorithm() {};

	/* evolve one step */
	virtual void evolveOneStep() = 0;

	/* best individuals - get */
	virtual const Individual& getBestIndividualCurrent() const = 0;
	virtual const Individual& getBestIndividualEver() const = 0; 
};

} // GA

#endif // JBK_IA_GA_GENETIC_ALGORITHM_H

